Running your Service
Elias Groot
Software Lead, Course Organizer
After completing the previous steps, we can now read from the camera, compute the servo position based on the track edges and let the actuator service move the servo for us. Let's test our service on the Rover!
Uploading Your Service
This is the easy part. Enter your service's root directory and use roverctl
to sync/upload your service files. You can control the version you want to upload by modifying the service.yaml version
field. Let's update it to our new 1.0.1
version first:
name: controller
version: 1.0.1
...
Then, open roverctl
, navigate to "services" and select "sync", or use the shorthand command:
roverctl service sync
Enabling Your Service
To enable your service in the pipeline that roverd
will execute, open roverctl
again and navigate to the "pipeline" page. Hit c to enter configuration mode. If there already is a service with the name "controller", you need to disable this first by switching to the "enabled" table using tab, navigating to the controller service and hitting d.
Then, switch back to the list of all installed services, select your author name and the "controller" service. Hit enter on the 1.0.1 version that you want to enable. roverctl
will confirm that this is a valid pipeline. If it isn't yet, make sure to also enable the imaging and actuator service.
Finally, hit s to save your pipeline and q to go back to the pipeline overview.
Running Your Pipeline
This is the fun part. When in the pipeline view, just hit s to start your pipeline. The first time might take a while, because your new service needs to be built first.
Once running, you can navigate to your service and use l to view its logs. By hitting s again, you can stop your pipeline.
You've just created your own service and integrated it with the ASE software framework and our official services. You've seen the essential building blocks to read from sensors and control the car. Try experimenting with the service code. If you want to experiment with motor throttle values, put your Rover on a car stand when debugging.